package org.example.boot.usercenter.common;

import static org.example.boot.usercenter.contant.UserContant.*;

/**
 * @InterfaceName: BaseResponseUtils
 * @Description: 返回前端数据的工具类
 * @Author: YourName
 * @Date: 2025/1/11
 */
public class ResultUtils {
    /**
     *
     * @param date 要返回前端的数据
     * @return json格式的数据
     */
    public static <T> BaseResponse<T> success(T date){
        return new BaseResponse<>(SUCCESSFUL_CODE,date,ErrorCode_SUCCESSFUL);
    }

    /**
     *
     * @param errorCode
     * @return
     */
    public static BaseResponse error(ErrorCode errorCode){
        return new BaseResponse<>(errorCode);
    }
    /**
     *
     * @param code 错误的代码编号
     * @param message 错误的信息类型
     * @param description 自己定义具体的描述
     * @return json格式的数据
     */
    public static BaseResponse error(int code,String message, String description){
        return  new BaseResponse<>(code, null,message,description);
    }

    /**
     *
     * @param errorCode 错误的类型
     * @param message 自己定义的错误的信息类型
     * @param description 自己定义具体的描述
     * @return json格式的数据
     */
    public static BaseResponse error(ErrorCode errorCode,String message, String description){
        return  new BaseResponse<>(errorCode.getCode(), null,message,description);
    }

    /**
     *
     * @param errorCode 错误的类型
     * @param description 自己定义具体的描述
     * @return json格式的数据
     */
    public static BaseResponse error(ErrorCode errorCode, String description) {
        return new BaseResponse(errorCode.getCode(), errorCode.getMessage(), description);
    }

}
